home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MOS / GEMDOS.I < prev    next >
Encoding:
Text File  |  1991-10-20  |  13.7 KB  |  3 lines

  1. ⓪ IMPLEMENTATION MODULE GEMDOS;⓪ (*$Z-,Y+,S-,N+,R-,L-*)⓪ ⓪ (*⓪ TT 20.10.91: $M- entfernt.⓪ *)⓪ ⓪ FROM SYSTEM IMPORT ASSEMBLER;⓪ FROM SYSTEM IMPORT BYTE, ADDRESS, LONGWORD, CAST;⓪ ⓪ VAR s, s2: ARRAY [0..129] OF CHAR;⓪ ⓪ PROCEDURE str0;⓪"BEGIN⓪$ASSEMBLER⓪(; in A2 wird Adr. v. ^str / HIGH (str) übergeben⓪(LEA     s,A1⓪(MOVEQ   #126,D1⓪(MOVE.L  (A2),A0⓪(MOVE    4(A2),D0⓪(MOVE.L  A1,(A2)         ; ^str umsetzen auf 's'⓪(BRA     y⓪(⓪%x  SUBQ    #1,D0⓪(BCS     ok2       ; Source-Ende, Dest. muss Endmarke bekommen⓪%y  MOVE.B  (A0)+,(A1)+⓪(DBEQ    D1,x⓪$ok2 CLR.B   (A1)+⓪$END⓪"END str0;⓪ ⓪ ⓪ PROCEDURE strb0;⓪"BEGIN⓪$ASSEMBLER⓪(; in A2 wird Adr. v. ^str / HIGH (str) übergeben⓪(LEA     s2,A1⓪(MOVEQ   #126,D1⓪(MOVE.L  (A2),A0⓪(MOVE    4(A2),D0⓪(MOVE.L  A1,(A2)         ; ^str umsetzen auf 's2'⓪(BRA     y⓪(⓪%x  SUBQ    #1,D0⓪(BCS     ok2       ; Source-Ende, Dest. muss Endmarke bekommen⓪%y  MOVE.B  (A0)+,(A1)+⓪(DBEQ    D1,x⓪$ok2 CLR.B   (A1)+⓪$END⓪"END strb0;⓪ ⓪ ⓪ PROCEDURE OldTerm ();⓪"BEGIN⓪$ASSEMBLER⓪(CLR     -(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪$END⓪"END OldTerm;⓪"⓪ PROCEDURE ConIn (VAR ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #1,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.B  D0,(A0)⓪$END⓪"END ConIn;⓪ ⓪ PROCEDURE ConScanIn (VAR ch: CHAR; VAR scan: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #1,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.B  D0,(A0)⓪(MOVE.L  (A7)+,A0⓪(SWAP    D0⓪(MOVE.B  D0,(A0)⓪$END⓪"END ConScanIn;⓪ ⓪ PROCEDURE ConOut (ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(SUBQ.L  #1,A3⓪(MOVE.B  -(A3),D0⓪(MOVE    D0,-(A7)⓪(MOVE    #2,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #4,A7⓪$END⓪"END ConOut;⓪ ⓪ PROCEDURE AuxIn (VAR ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #3,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.B  D0,(A0)⓪$END⓪"END AuxIn;⓪ ⓪ PROCEDURE AuxOut (ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(SUBQ.L  #1,A3⓪(MOVE.B  -(A3),D0⓪(MOVE    D0,-(A7)⓪(MOVE    #4,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #4,A7⓪$END⓪"END AuxOut;⓪ ⓪ PROCEDURE PrnOut (ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(SUBQ.L  #1,A3⓪(MOVE.B  -(A3),D0⓪(MOVE    D0,-(A7)⓪(MOVE    #5,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #4,A7⓪$END⓪"END PrnOut;⓪ ⓪ PROCEDURE RawIO (VAR ch: CHAR; rw: IOMode);⓪"BEGIN⓪$ASSEMBLER⓪(TST     -(A3)⓪(BEQ     rd⓪(MOVE.L  -(A3),A0⓪(MOVE.B  (A0),D0⓪(MOVE    D0,-(A7)⓪(MOVE    #6,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #4,A7⓪(RTS⓪$rd: MOVE.L  -(A3),-(A7)⓪(MOVE    #$FF,-(A7)⓪(MOVE    #6,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #4,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.B  D0,(A0)⓪$END⓪"END RawIO;⓪ ⓪ PROCEDURE RawIn (VAR ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #7,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.B  D0,(A0)⓪$END⓪"END RawIn;⓪ ⓪ PROCEDURE RawScanIn (VAR c: CHAR; VAR sc: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #7,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.B  D0,(A0)⓪(MOVE.L  (A7)+,A0⓪(SWAP    D0⓪(MOVE.B  D0,(A0)⓪$END⓪"END RawScanIn;⓪ ⓪ PROCEDURE NecIn (VAR ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #8,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.B  D0,(A0)⓪$END⓪"END NecIn;⓪ ⓪ PROCEDURE ConWS (REF str: ARRAY OF CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(LEA     -6(A3),A2⓪(JSR     str0⓪(SUBQ.L  #2,A3⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #9,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #6,A7⓪$END;⓪"END ConWS;⓪ ⓪ PROCEDURE ConRS (VAR str: ARRAY OF BYTE);⓪"BEGIN⓪$ASSEMBLER⓪(SUBQ.L  #2,A3⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #10,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #6,A7⓪$END⓪"END ConRS;⓪ ⓪ PROCEDURE ConIS (): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE    #11,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(ANDI    #1,D0⓪(MOVE    D0,(A3)+⓪$END⓪"END ConIS;⓪ ⓪ PROCEDURE SetDrv (drive: CARDINAL; VAR used: LONGCARD);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.W  -(A3),-(A7)⓪(MOVE    #14,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #4,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.L  D0,(A0)⓪$END⓪"END SetDrv;⓪ ⓪ PROCEDURE ConOS (): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE    #16,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(ANDI    #1,D0⓪(MOVE    D0,(A3)+⓪$END⓪"END ConOS;⓪ ⓪ PROCEDURE PrnOS (): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE    #17,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(ANDI    #1,D0⓪(MOVE    D0,(A3)+⓪$END⓪"END PrnOS;⓪ ⓪ PROCEDURE AuxIS (): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE    #18,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(ANDI    #1,D0⓪(MOVE    D0,(A3)+⓪$END⓪"END AuxIS;⓪ ⓪ PROCEDURE AuxOS (): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE    #19,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(ANDI    #1,D0⓪(MOVE    D0,(A3)+⓪$END⓪"END AuxOS;⓪ ⓪ PROCEDURE GetDrv (VAR drive: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE    #$19,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(MOVE.L  -(A3),A0⓪(MOVE.W  D0,(A0)⓪$END⓪"END GetDrv;⓪ ⓪ PROCEDURE SetDTA (dtaAddr: ADDRESS);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$1A,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #6,A7⓪$END⓪"END SetDTA;⓪ ⓪ PROCEDURE GetDate (VAR packeddate: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE    #$2A,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(MOVE.L  -(A3),A0⓪(MOVE.W  D0,(A0)⓪$END⓪"END GetDate;⓪ ⓪ PROCEDURE SetDate (packeddate: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W  -(A3),-(A7)⓪(MOVE    #$2B,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #4,A7⓪$END⓪"END SetDate;⓪ ⓪ PROCEDURE GetTime (VAR packedtime: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE    #$2C,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(MOVE.L  -(A3),A0⓪(MOVE.W  D0,(A0)⓪$END⓪"END GetTime;⓪ ⓪ PROCEDURE SetTime (packedtime: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W  -(A3),-(A7)⓪(MOVE    #$2D,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #4,A7⓪$END⓪"END SetTime;⓪ ⓪ PROCEDURE GetDTA (VAR dtaAddr: ADDRESS);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE    #$2F,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(MOVE.L  -(A3),A0⓪(MOVE.L  D0,(A0)⓪$END⓪"END GetDTA;⓪ ⓪ PROCEDURE Version (VAR versionNo: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE    #$30,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(MOVE.L  -(A3),A0⓪(MOVE.W  D0,(A0)⓪$END⓪"END Version;⓪ ⓪ PROCEDURE TermRes (keepAmount: LONGCARD; exitcode: INTEGER);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W  -(A3),-(A7)⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$31,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #8,A7⓪$END⓪"END TermRes;⓪ ⓪ PROCEDURE DFree (VAR infoblock: DiskInfoBuffer; drive1: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W  -(A3),-(A7)⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$36,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #8,A7⓪$END⓪"END DFree;⓪ ⓪ PROCEDURE DirCreate (REF path: ARRAY OF CHAR): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(LEA     -6(A3),A2⓪(JSR     str0⓪(SUBQ.L  #2,A3⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$39,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #6,A7⓪(TST.L   D0⓪(SPL     D0⓪(ANDI    #1,D0⓪(MOVE    D0,(A3)+⓪$END;⓪"END DirCreate;⓪ ⓪ PROCEDURE DirDelete (REF path: ARRAY OF CHAR): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(LEA     -6(A3),A2⓪(JSR     str0⓪(SUBQ.L  #2,A3⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$3A,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #6,A7⓪(TST.L   D0⓪(SPL     D0⓪(ANDI    #1,D0⓪(MOVE    D0,(A3)+⓪$END;⓪"END DirDelete;⓪ ⓪ PROCEDURE SetPath (REF path: ARRAY OF CHAR): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(LEA     -6(A3),A2⓪(JSR     str0⓪(SUBQ.L  #2,A3⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$3B,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #6,A7⓪(TST.L   D0⓪(SPL     D0⓪(ANDI    #1,D0⓪(MOVE    D0,(A3)+⓪$END;⓪"END SetPath;⓪ ⓪ PROCEDURE Create (REF fname: ARRAY OF CHAR; mode: CARDINAL; VAR handle: INTEGER);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.W  -(A3),-(A7)⓪(LEA     -6(A3),A2⓪(JSR     str0⓪(SUBQ.L  #2,A3⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$3C,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #8,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.W  D0,(A0)⓪$END⓪"END Create;⓪ ⓪ PROCEDURE Open (REF fname: ARRAY OF CHAR; mode: CARDINAL; VAR handle: INTEGER);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.W  -(A3),-(A7)⓪(LEA     -6(A3),A2⓪(JSR     str0⓪(SUBQ.L  #2,A3⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$3D,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #8,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.W  D0,(A0)⓪$END⓪"END Open;⓪ ⓪ PROCEDURE Close (handle: INTEGER): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W  -(A3),-(A7)⓪(MOVE    #$3E,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #4,A7⓪(TST.L   D0⓪(SPL     D0⓪(ANDI    #1,D0⓪(MOVE    D0,(A3)+⓪$END⓪"END Close;⓪ ⓪ PROCEDURE Read (handle: INTEGER; VAR noOfBytes: LONGCARD; buffer: ADDRESS);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),D0⓪(MOVE.L  -(A3),A0⓪(MOVE.L  A0,-(A7)⓪(MOVE.L  D0,-(A7)⓪(MOVE.L  (A0),-(A7)⓪(MOVE.W  -(A3),-(A7)⓪(MOVE    #$3F,-(A7)⓪(TRAP    #1⓪(ADDA.W  #12,A7⓪(MOVE.L  (A7)+,A0⓪(TST.L   D0⓪(BMI     err⓪(MOVE.L  D0,(A0)⓪(RTS⓪&err:⓪(CLR.L   (A0)⓪$END⓪"END Read;⓪ ⓪ PROCEDURE Write (handle: INTEGER; VAR noOfBytes: LONGCARD; buffer: ADDRESS);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),D0⓪(MOVE.L  -(A3),A0⓪(MOVE.L  A0,-(A7)⓪(MOVE.L  D0,-(A7)⓪(MOVE.L  (A0),-(A7)⓪(MOVE.W  -(A3),-(A7)⓪(MOVE    #$40,-(A7)⓪(TRAP    #1⓪(ADDA.W  #12,A7⓪(MOVE.L  (A7)+,A0⓪(TST.L   D0⓪(BMI     err⓪(MOVE.L  D0,(A0)⓪(RTS⓪&err:⓪(CLR.L   (A0)⓪$END⓪"END Write;⓪ ⓪ PROCEDURE Delete (REF fname: ARRAY OF CHAR): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(LEA     -6(A3),A2⓪(JSR     str0⓪(SUBQ.L  #2,A3⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$41,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #6,A7⓪(TST.L   D0⓪(SPL     D0⓪(ANDI    #1,D0⓪(MOVE    D0,(A3)+⓪$END;⓪"END Delete;⓪ ⓪ PROCEDURE Seek (pos: LONGINT; handle: INTEGER; mode: SeekMode;⓪0VAR newPosFromBeginning: LONGINT);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$42,-(A7)⓪(TRAP    #1⓪(ADDA.W  #10,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.L  D0,(A0)⓪$END⓪"END Seek;⓪ ⓪ PROCEDURE Attrib (REF fname: ARRAY OF CHAR; mode: TimeAccessMode; VAR attr: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.L  (A7),A0⓪(MOVE.W  (A0),-(A7)⓪(MOVE.W  -(A3),-(A7)⓪(LEA     -6(A3),A2⓪(JSR     str0⓪(SUBQ.L  #2,A3⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$43,-(A7)⓪(TRAP    #1⓪(ADDA.W  #10,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.W  D0,(A0)⓪$END⓪"END Attrib;⓪ ⓪ PROCEDURE GetPath (VAR path: ARRAY OF CHAR; drive1: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W  -(A3),-(A7)⓪(MOVE.W  -(A3),D1⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$47,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #8,A7⓪$END⓪"END GetPath;⓪ ⓪ PROCEDURE Alloc (amount: LONGINT; VAR addr: ADDRESS);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$48,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #6,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.L  D0,(A0)⓪$END⓪"END Alloc;⓪ ⓪ PROCEDURE Free (addr: ADDRESS): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$49,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #6,A7⓪(TST.L   D0⓪(SPL     D0⓪(ANDI    #1,D0⓪(MOVE    D0,(A3)+⓪$END⓪"END Free;⓪ ⓪ PROCEDURE Shrink (addr: ADDRESS; newAmount: LONGCARD): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.L  -(A3),-(A7)⓪(CLR.W   -(A7)⓪(MOVE    #$4A,-(A7)⓪(TRAP    #1⓪(ADDA.W  #12,A7⓪(TST.L   D0⓪(SPL     D0⓪(ANDI    #1,D0⓪(MOVE    D0,(A3)+⓪$END⓪"END Shrink;⓪ ⓪ PROCEDURE Pexec ( Mode: CARDINAL; Name, Arguments, Environment: ADDRESS;⓪2VAR Result: LONGINT );⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.W  -(A3),-(A7)⓪(MOVE    #$4B,-(A7)⓪(TRAP    #1⓪(ADDA.W  #16,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.L  D0,(A0)⓪$END⓪"END Pexec;⓪ ⓪ PROCEDURE Term (exitcode: INTEGER);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE    -(A3),-(A7)⓪(MOVE    #$4C,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #4,A7⓪$END⓪"END Term;⓪ ⓪ PROCEDURE SFirst (REF fname: ARRAY OF CHAR; mode: CARDINAL; VAR res: INTEGER);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.W  -(A3),-(A7)⓪(LEA     -6(A3),A2⓪(JSR     str0⓪(SUBQ.L  #2,A3⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$4E,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #8,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.W  D0,(A0)⓪$END⓪"END SFirst;⓪ ⓪ PROCEDURE SNext (VAR res: INTEGER);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE    #$4F,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #2,A7⓪(MOVE.L  -(A3),A0⓪(MOVE.W  D0,(A0)⓪$END⓪"END SNext;⓪ ⓪ PROCEDURE Rename (REF oldname, newname: ARRAY OF CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(LEA     -6(A3),A2⓪(JSR     str0⓪(SUBQ.L  #2,A3⓪(MOVE.L  -(A3),-(A7)⓪(LEA     -6(A3),A2⓪(JSR     strb0⓪(SUBQ.L  #2,A3⓪(MOVE.L  -(A3),-(A7)⓪(CLR     -(A7)⓪(MOVE    #$56,-(A7)⓪(TRAP    #1⓪(ADDA.W  #12,A7⓪$END⓪"END Rename;⓪ ⓪ PROCEDURE DaTime (handle: INTEGER; dataEndTimeAddr: ADDRESS;⓪8mode: TimeAccessMode);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W  -(A3),-(A7)⓪(MOVE.L  -(A3),D0⓪(MOVE.W  -(A3),-(A7)⓪(MOVE.L  D0,-(A7)⓪(MOVE    #$57,-(A7)⓪(TRAP    #1⓪(ADDA.W  #10,A7⓪$END⓪"END DaTime;⓪ ⓪ PROCEDURE Super (stack: LONGINT): LONGINT;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$20,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #6,A7⓪(MOVE.L  D0,(A3)+⓪$END⓪"END Super;⓪ ⓪ PROCEDURE Dup ( stdHandle: INTEGER; VAR newHandle: INTEGER );⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.W  -(A3),-(A7)⓪(MOVE    #$45,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #4,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.W  D0,(A0)⓪$END⓪"END Dup;⓪"⓪ PROCEDURE Force ( stdHandle, newHandle: INTEGER ): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$46,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #6,A7⓪(TST.L   D0⓪(SEQ     D0⓪(ANDI    #1,D0⓪(MOVE.W  D0,(A3)+⓪$END⓪"END Force;⓪ ⓪ PROCEDURE Xalloc ( Bytes: LONGINT; mode: CARDINAL; VAR Addr: ADDRESS );⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L  -(A3),-(A7)⓪(MOVE.W  -(A3),-(A7)⓪(MOVE.L  -(A3),-(A7)⓪(MOVE    #$44,-(A7)⓪(TRAP    #1⓪(ADDQ.L  #8,A7⓪(MOVE.L  (A7)+,A0⓪(MOVE.L  D0,(A0)⓪$END⓪"END Xalloc;⓪ ⓪ END GEMDOS.⓪ ə
  2. (* $FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$00001FFF$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909Ç$00000060T.......T.......T.......T.......T.......T.......T.......T.......T.......T.......$000033ED$000032A8$000033CD$0000340C$0000002D$00000065$FFEDA586$FFEDA586$00000060$000032FE$0000331A$00003189$0000342C$000033AB$000033C1$000033ABñÇé*)
  3.